package model

type BaiDuGetWay struct {
	Status  int    `json:"status"`
	Message string `json:"message"`
	Type    int    `json:"type"`
	Result  struct {
		Restriction string `json:"restriction"`
		YellowTip   []struct {
			Type  int `json:"type"`
			Group []struct {
				Tag     string `json:"tag"`
				TagInfo string `json:"tag_info"`
				Tips    []struct {
					TipId     int    `json:"tip_id"`
					Title     string `json:"title"`
					Priority  int    `json:"priority"`
					FirstLine string `json:"first_line"`
				} `json:"tips"`
			} `json:"group"`
		} `json:"yellow_tip"`
		Total       int    `json:"total"`
		NaviRestype int    `json:"navi_restype"`
		SessionId   string `json:"session_id"`
		Routes      []struct {
			Origin struct {
				Lng float64 `json:"lng"`
				Lat float64 `json:"lat"`
			} `json:"origin"`
			Destination struct {
				Lng float64 `json:"lng"`
				Lat float64 `json:"lat"`
			} `json:"destination"`
			Tag          string `json:"tag"`
			Mrsl         string `json:"mrsl"`
			RouteMd5     string `json:"route_md5"`
			DataVersion  string `json:"data_version"`
			TrafficLight int    `json:"traffic_light"`
			Distance     int    `json:"distance"`
			Duration     int    `json:"duration"`
			TaxiFee      int    `json:"taxi_fee"`
			HasGuidance  bool   `json:"has_guidance"`
			Steps        []struct {
				LegIndex         int    `json:"leg_index"`
				LinkNum          int    `json:"link_num"`
				RoadName         string `json:"road_name"`
				Direction        int    `json:"direction"`
				Distance         int    `json:"distance"`
				Duration         int    `json:"duration"`
				RoadType         int    `json:"road_type"`
				Toll             int    `json:"toll"`
				TollDistance     int    `json:"toll_distance"`
				Adcodes          string `json:"adcodes"`
				TrafficCondition []struct {
					Status   int     `json:"status"`
					GeoCnt   int     `json:"geo_cnt"`
					Distance float64 `json:"distance"`
				} `json:"traffic_condition"`
				Path          string `json:"path"`
				StartLocation struct {
					Lng float64 `json:"lng"`
					Lat float64 `json:"lat"`
				} `json:"start_location"`
				EndLocation struct {
					Lng float64 `json:"lng"`
					Lat float64 `json:"lat"`
				} `json:"end_location"`
			} `json:"steps"`
			RestrictionInfo struct {
				Status int    `json:"status"`
				Desc   string `json:"desc"`
			} `json:"restriction_info"`
			YellowTip    []interface{} `json:"yellow_tip"`
			Toll         int           `json:"toll"`
			TollDistance int           `json:"toll_distance"`
			Score        float64       `json:"score"`
			RouteId      string        `json:"route_id"`
		} `json:"routes"`
		Holiday      string `json:"holiday"`
		RetCoordtype string `json:"ret_coordtype"`
		ApiRestype   int    `json:"api_restype"`
	} `json:"result"`
}
type GetAddressData struct {
	Status     int    `json:"status"`
	Message    string `json:"message"`
	ResultType string `json:"result_type"`
	Results    []struct {
		Name     string `json:"name"`
		Location struct {
			Lat float64 `json:"lat"`
			Lng float64 `json:"lng"`
		} `json:"location"`
		Address   string `json:"address"`
		Province  string `json:"province"`
		City      string `json:"city"`
		Area      string `json:"area"`
		Detail    int    `json:"detail"`
		Uid       string `json:"uid"`
		Telephone string `json:"telephone,omitempty"`
	} `json:"results"`
}
type GetAddressById struct {
	Status  int    `json:"status"`
	Address string `json:"address"`
	Content struct {
		Address       string `json:"address"`
		AddressDetail struct {
			Adcode       string `json:"adcode"`
			City         string `json:"city"`
			CityCode     int    `json:"city_code"`
			District     string `json:"district"`
			Province     string `json:"province"`
			Street       string `json:"street"`
			StreetNumber string `json:"street_number"`
		} `json:"address_detail"`
		Point struct {
			X string `json:"x"`
			Y string `json:"y"`
		} `json:"point"`
	} `json:"content"`
}
